def f(x):
    return x**2  # 定义被积函数

def rectangular_integral(a, b, n):
    """
    使用矩形法计算定积分近似值
    """
    dx = (b - a) / n  # 小区间长度
    total_area = 0.0
    
    for i in range(n):
        xi = a + i * dx  # 取左端点 ξ_i
        total_area += f(xi) * dx  # 求和 f(ξ_i) Δx_i
    
    return total_area

# 计算曲边梯形面积
a, b = 0, 1
n_values = [4, 10, 100, 1000, 10000]
exact_value = 1/3

print("曲边梯形面积计算（f(x) = x^2, 区间[0,1]）")
print("精确值：", exact_value)
print("不同分割数下的近似值：")

for n in n_values:
    approx = rectangular_integral(a, b, n)
    error = abs(approx - exact_value)
    print(f"n={n:5d}: 近似值={approx:.6f}, 误差={error:.6f}")